home *** CD-ROM | disk | FTP | other *** search
/ All for Cell Phones: Sony Ericsson / Sony-Ericsson 2004.iso / Java / Micro Mail / MicroMail.jar / AddressHandler.class (.txt) < prev    next >
Encoding:
Java Class File  |  2001-09-14  |  3.1 KB  |  137 lines

  1. import com.siemens.mp.io.File;
  2. import java.io.ByteArrayInputStream;
  3. import java.io.ByteArrayOutputStream;
  4. import java.io.DataInputStream;
  5. import java.io.DataOutputStream;
  6. import java.util.Vector;
  7.  
  8. public class AddressHandler {
  9.    private static int retCode;
  10.    private static int iRecordsNo;
  11.    private static final String fileName;
  12.    private static final String tempFileName = "Address.tmp";
  13.    private static final int buffLen = 80;
  14.  
  15.    static {
  16.       fileName = "Address" + Globals.fileExtension;
  17.    }
  18.  
  19.    public static void closeFile() {
  20.       try {
  21.          Globals.file.close(Globals.fileDesc);
  22.       } catch (Exception var0) {
  23.       }
  24.  
  25.    }
  26.  
  27.    public static void deleteRecord(int var0) {
  28.       try {
  29.          try {
  30.             File var10000 = Globals.file;
  31.             File.delete("Address.tmp");
  32.          } catch (Exception var4) {
  33.          }
  34.  
  35.          Globals.fileDesc = Globals.file.open(fileName);
  36.          Globals.fileDesc2 = Globals.file2.open("Address.tmp");
  37.  
  38.          for(int var1 = 0; var1 < var0; ++var1) {
  39.             Globals.file.seek(Globals.fileDesc, 80 * var1);
  40.             Globals.file.read(Globals.fileDesc, Globals.byteArray, 0, 80);
  41.             Globals.file2.seek(Globals.fileDesc2, 80 * var1);
  42.             Globals.file2.write(Globals.fileDesc2, Globals.byteArray, 0, 80);
  43.          }
  44.  
  45.          for(int var2 = var0 + 1; var2 < iRecordsNo; ++var2) {
  46.             Globals.file.seek(Globals.fileDesc, 80 * var2);
  47.             Globals.file.read(Globals.fileDesc, Globals.byteArray, 0, 80);
  48.             Globals.file2.seek(Globals.fileDesc2, 80 * (var2 - 1));
  49.             Globals.file2.write(Globals.fileDesc2, Globals.byteArray, 0, 80);
  50.          }
  51.  
  52.          Globals.file.close(Globals.fileDesc);
  53.          Globals.file2.close(Globals.fileDesc2);
  54.          File var6 = Globals.file;
  55.          File.delete(fileName);
  56.          var6 = Globals.file2;
  57.          int var3 = File.rename("Address.tmp", fileName);
  58.       } catch (Exception var5) {
  59.          MicroMail.printInfo(var5.getClass().getName() + ": " + ((Throwable)var5).getMessage());
  60.          ((Throwable)var5).printStackTrace();
  61.       }
  62.  
  63.    }
  64.  
  65.    public static Address getAddress(int var0) {
  66.       Address var1 = new Address();
  67.  
  68.       try {
  69.          Globals.file.seek(Globals.fileDesc, 80 * var0);
  70.          Globals.file.read(Globals.fileDesc, Globals.byteArray, 0, 80);
  71.          ByteArrayInputStream var2 = new ByteArrayInputStream(Globals.byteArray);
  72.          DataInputStream var3 = new DataInputStream(var2);
  73.          var1.ID = var0;
  74.          var1.name = var3.readUTF();
  75.          var1.email = var3.readUTF();
  76.          var3.close();
  77.          Object var6 = null;
  78.          var2.close();
  79.          Object var5 = null;
  80.       } catch (Exception var4) {
  81.          MicroMail.printInfo("method getAddress:" + var4.getClass().getName() + ": " + ((Throwable)var4).getMessage());
  82.          ((Throwable)var4).printStackTrace();
  83.       }
  84.  
  85.       return var1;
  86.    }
  87.  
  88.    public static Vector getAddressBook() {
  89.       try {
  90.          Vector var0 = new Vector(iRecordsNo);
  91.  
  92.          for(int var1 = 0; var1 < iRecordsNo; ++var1) {
  93.             var0.addElement(getAddress(var1));
  94.          }
  95.  
  96.          return var0;
  97.       } catch (Exception var2) {
  98.          return null;
  99.       }
  100.    }
  101.  
  102.    public static void openFile() {
  103.       try {
  104.          Globals.fileDesc = Globals.file.open(fileName);
  105.          iRecordsNo = Globals.file.length(Globals.fileDesc) / 80;
  106.       } catch (Exception var0) {
  107.       }
  108.  
  109.    }
  110.  
  111.    public static void storeAddress(Address var0) {
  112.       try {
  113.          ByteArrayOutputStream var2 = new ByteArrayOutputStream();
  114.          DataOutputStream var3 = new DataOutputStream(var2);
  115.          var3.writeUTF(var0.name);
  116.          var3.writeUTF(var0.email);
  117.          byte[] var1 = var2.toByteArray();
  118.          var3.close();
  119.          Object var7 = null;
  120.          var2.close();
  121.          Object var6 = null;
  122.          if (var0.ID < 0) {
  123.             Globals.file.seek(Globals.fileDesc, Globals.file.length(Globals.fileDesc));
  124.             Globals.file.write(Globals.fileDesc, var1, 0, 80);
  125.             var0.ID = iRecordsNo;
  126.          } else {
  127.             Globals.file.seek(Globals.fileDesc, 80 * var0.ID);
  128.             Globals.file.write(Globals.fileDesc, var1, 0, 80);
  129.          }
  130.  
  131.          Object var5 = null;
  132.       } catch (Exception var4) {
  133.       }
  134.  
  135.    }
  136. }
  137.